package com.canaan.business.mapper.storehouse;

import java.util.List;
import com.canaan.business.domain.storehouse.StorehouseStockRecord;

/**
 * 库存明细纪录Mapper接口
 * 
 * @author canaan
 * @date 2025-03-30
 */
public interface StorehouseStockRecordMapper {
    /**
     * 查询库存明细纪录
     * 
     * @param id 库存明细纪录主键
     * @return 库存明细纪录
     */
    public StorehouseStockRecord selectStorehouseStockRecordById(Long id);

    /**
     * 查询库存明细纪录列表
     * 
     * @param storehouseStockRecord 库存明细纪录
     * @return 库存明细纪录集合
     */
    public List<StorehouseStockRecord> selectStorehouseStockRecordList(StorehouseStockRecord storehouseStockRecord);

    /**
     * 新增库存明细纪录
     * 
     * @param storehouseStockRecord 库存明细纪录
     * @return 结果
     */
    public int insertStorehouseStockRecord(StorehouseStockRecord storehouseStockRecord);

    /**
     * 批量新增库存明细纪录
     *
     * @param storehouseStockRecordList 库存明细纪录列表
     * @return 结果
     */
    public int batchInsertStorehouseStockRecord(List<StorehouseStockRecord> storehouseStockRecordList);

    /**
     * 修改库存明细纪录
     * 
     * @param storehouseStockRecord 库存明细纪录
     * @return 结果
     */
    public int updateStorehouseStockRecord(StorehouseStockRecord storehouseStockRecord);

    /**
     * 批量修改库存明细纪录
     *
     * @param storehouseStockRecordList 库存明细纪录列表
     * @return 结果
     */
    public int batchUpdateStorehouseStockRecord(List<StorehouseStockRecord> storehouseStockRecordList);

    /**
     * 删除库存明细纪录
     * 
     * @param id 库存明细纪录主键
     * @return 结果
     */
    public int deleteStorehouseStockRecordById(Long id);

    /**
     * 批量删除库存明细纪录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteStorehouseStockRecordByIds(Long[] ids);

    /**
     * 查询库存明细纪录
     *
     * @param no 编号
     * @return 库存明细纪录
     */
    public StorehouseStockRecord selectStorehouseStockRecordByNo(String no);

    /**
     * 批量删除库存明细纪录
     *
     * @param nos 需要删除的编号集合
     * @return 结果
     */
    public int deleteStorehouseStockRecordByNos(String[] nos);

    /**
     * 删除库存明细纪录信息
     *
     * @param no 编号
     * @return 结果
     */
    public int deleteStorehouseStockRecordByNo(String no);

}
